#include<iostream>
#include<vector>
#include<string>
#include<algorithm>
using namespace std;
class Solution {
public:
	static int removeDuplicates(vector<int>& nums) {
		if (nums.empty())
		{
			return 0;
		}
		auto iter = nums.begin();
		auto buf = iter;
		++iter;
		while (iter != nums.end())
		{
			if (*buf == *iter)
			{
				nums.erase(iter);
				iter = buf;
				iter++;
				continue;
			}
			++iter;
			++buf;
		}
		return nums.size();
		//if (nums.empty()) return 0;
		//int index = 0;
		//for (int i = 1; i < nums.size(); i++) {
		//	if (nums[index] != nums[i])
		//		nums[++index] = nums[i];
		//}
        //大佬算法
	}
	};
int main()
{
	vector<int> nums;
	int buf;
	while (cin >> buf)
	{
		nums.push_back(buf);
	}
	sort(nums.begin(),nums.end());
	Solution::removeDuplicates(nums);
	for (auto k : nums)
		cout << k<<endl;
}